
from flask import Flask, render_template,request, url_for
import pandas as pd
import matplotlib.pyplot as plt
import plotly as py
import plotly.graph_objs as go
import cufflinks as cf


app = Flask(__name__)


def read_data():
    return pd.read_csv('hurun_unicorn.tsv', encoding='utf-8', delimiter="\t")


@app.route('/get_hurun_info', methods=['POST'])
	def hurun():
	df_中国=df[df['国家'].str.contains('中国')]
	粤港澳大湾区={
	    '广州':'粤港澳大湾区','深圳':'粤港澳大湾区','珠海':'粤港澳大湾区','佛山':'','粤港澳大湾区':'','东莞':'粤港澳大湾区','中山':'粤港澳大湾区','江门':'粤港澳大湾区','肇庆':'粤港澳大湾区','香港':'粤港澳大湾区','澳门':'粤港澳大湾区'
	  }
	df_yue=df_中国.set_index('城市').rename(index=粤港澳大湾区).reset_index()
	df_粤港澳大湾区=df_yue[df_yue['城市'].str.contains('粤港澳大湾区')].head(n=10)
	df_中国=df[df['国家'].str.contains('中国')]
	环杭州湾大湾区={
	    '上海':'环杭州湾大湾区','杭州':'环杭州湾大湾区','嘉兴':'环杭州湾大湾区','湖州':'','环杭州湾大湾区':'','绍兴':'环杭州湾大湾区','宁波':'环杭州湾大湾区','舟山':'环杭州湾大湾区'
	  }
	df_hang=df_中国.set_index('城市').rename(index=环杭州湾大湾区).reset_index()
	df_环杭州湾大湾区=df_hang[df_hang['城市'].str.contains('环杭州湾大湾区')].head(n=10)
	df_美国=df[df['国家'].str.contains('美国')]
	旧金山大湾区={
	   '旧金山':'旧金山大湾区','奥克兰':'旧金山大湾区','圣荷西':'旧金山大湾区'
	  }
	df_jiu=df_美国.set_index('城市').rename(index=旧金山大湾区).reset_index()
	df_旧金山大湾区=df_jiu[df_jiu['城市'].str.contains('旧金山大湾区')].head(n=10)
 return render_template(
    "hurun_info.html",
    # Animation_data=df_animation.to_html(classes='animation',index=False),
    df_粤港澳大湾区=df_粤港澳大湾区.to_html(classes='animation',index=False),
    df_杭州大湾区=df_杭州大湾区.to_html(classes='animation',index=False),
    data=[{'粤港澳大湾区详情':'a1'},{'杭州大湾区详情':'a2'},{'湾区指标对比':'a'},{'湾区各行业对比':'b'},{'湾区同有行业对比':'c'},{'杭州大湾区投机机构详情':'d'},{'粤港澳大湾区投资机构详情':'e'}])

@app.route("/test" , methods=['GET', 'POST'])
def test():
	select = request.form.get('comp_select')
	df_中国=df[df['国家'].str.contains('中国')]
	粤港澳大湾区={
	    '广州':'粤港澳大湾区','深圳':'粤港澳大湾区','珠海':'粤港澳大湾区','佛山':'','粤港澳大湾区':'','东莞':'粤港澳大湾区','中山':'粤港澳大湾区','江门':'粤港澳大湾区','肇庆':'粤港澳大湾区','香港':'粤港澳大湾区','澳门':'粤港澳大湾区'
	  }
	df_yue=df_中国.set_index('城市').rename(index=粤港澳大湾区).reset_index()
	df_中国=df[df['国家'].str.contains('中国')]
	环杭州湾大湾区={
	    '上海':'环杭州湾大湾区','杭州':'环杭州湾大湾区','嘉兴':'环杭州湾大湾区','湖州':'','环杭州湾大湾区':'','绍兴':'环杭州湾大湾区','宁波':'环杭州湾大湾区','舟山':'环杭州湾大湾区'
	  }
	df_hang=df_中国.set_index('城市').rename(index=环杭州湾大湾区).reset_index()
	df_美国=df[df['国家'].str.contains('美国')]
	旧金山大湾区={
	   '旧金山':'旧金山大湾区','奥克兰':'旧金山大湾区','圣荷西':'旧金山大湾区'
	  }
	df_jiu=df_美国.set_index('城市').rename(index=旧金山大湾区).reset_index()
	df_环杭州湾大湾区产业估值总和=df_环杭州湾大湾区['估值（亿人民币）'].sum()
	df_粤港澳大湾区产业估值总和=df_粤港澳大湾区['估值（亿人民币）'].sum()
	df_旧金山大湾区产业估值总和=df_旧金山大湾区['估值（亿人民币）'].sum()
	df_环杭州湾大湾区产业均值=df_环杭州湾大湾区['估值（亿人民币）'].mean()
	df_粤港澳大湾区产业均值=df_粤港澳大湾区['估值（亿人民币）'].mean()
	df_旧金山大湾区产业均值=df_旧金山大湾区['估值（亿人民币）'].mean()
	dfall=pd.DataFrame({'指标':['杭州大湾区产业估值总和','粤港澳大湾区产业估值总和','旧金山大湾区产业估值总和','杭州大湾区产业均值','粤港澳大湾区产业均值','旧金山大湾区产业均值'],'值':[df_环杭州湾大湾区['估值（亿人民币）'].sum(),df_粤港澳大湾区['估值（亿人民币）'].sum(),df_旧金山大湾区['估值（亿人民币）'].sum(),df_环杭州湾大湾区['估值（亿人民币）'].mean(),df_粤港澳大湾区['估值（亿人民币）'].mean(),df_旧金山大湾区['估值（亿人民币）'].mean()]})
	fig = dfall.iplot(kind="bar", x="指标", y="值", asFigure=True,title='湾区指标对比')
	py.offline.plot(fig, filename="总.html",auto_open=False)
	with open("总.html", encoding="utf8", mode="r") as f:
	    plot_all = "".join(f.readlines())
	df_粤港澳产业估值合计=df_粤港澳大湾区.groupby('行业').sum().drop(['成立年份','排名'],axis=1).reset_index()
	df_杭州大湾区产业估值合计=df_环杭州湾大湾区.groupby('行业').sum().drop(['成立年份','排名'],axis=1).reset_index()
	df_旧金山大湾区产业估值合计=df_旧金山大湾区.groupby('行业').sum().drop(['成立年份','排名'],axis=1).reset_index()

	fig = df_粤港澳产业估值合计.iplot(kind="bar", x="行业", y="估值（亿人民币）", asFigure=True,title='粤港澳产业估值合计')
	py.offline.plot(fig, filename="粤港澳.html",auto_open=False)
	with open("粤港澳.html", encoding="utf8", mode="r") as f:
	    plot_all2 = "".join(f.readlines())
	fig = df_杭州大湾区产业估值合计.iplot(kind="bar", x="行业", y="估值（亿人民币）", asFigure=True,title='杭州大湾区产业估值合计')
	py.offline.plot(fig, filename="杭州湾.html",auto_open=False)
	with open("杭州湾.html", encoding="utf8", mode="r") as f:
	    plot_all3 = "".join(f.readlines())
	fig = df_旧金山大湾区产业估值合计.iplot(kind="bar", x="行业", y="估值（亿人民币）", asFigure=True,title='旧金山大湾区产业估值合计')
	py.offline.plot(fig, filename="旧金山.html",auto_open=False)
	with open("旧金山.html", encoding="utf8", mode="r") as f:
	    plot_all4 = "".join(f.readlines())
	py.offline.plot(fig, filename="杭州大湾区产业估值分类.html",auto_open=False)
	with open("杭州大湾区产业估值分类.html", encoding="utf8", mode="r") as f:
	    plot_all2 = "".join(f.readlines())
	fig = df_杭州大湾区产业估值合计.iplot(kind="bar", x="行业", y="估值（亿人民币）", asFigure=True,title='杭州大湾区产业估值分类')
	py.offline.plot(fig, filename="湾区共有行业估值（粤港澳）.html",auto_open=False)
	with open("湾区共有行业估值（粤港澳）.html", encoding="utf8", mode="r") as f:
	    plot_all3 = "".join(f.readlines())
	粤港澳行业列表_list=df_粤港澳产业估值合计['行业'].to_list()
	杭州大湾区行业列表_list=df_杭州大湾区产业估值合计['行业'].to_list()
	共有行业=[a for a in 粤港澳行业列表_list if a in 杭州大湾区行业列表_list]    # 筛选粤港澳大湾区和杭州大湾区共同有的行业
	df_对比_杭州大湾区=df_杭州大湾区产业估值合计[df_杭州大湾区产业估值合计['行业'].isin(共有行业)]    # 对共有的行业进行对比
	df_对比_粤港澳=df_粤港澳产业估值合计[df_粤港澳产业估值合计['行业'].isin(共有行业)]
	杭州大湾区行业=df_对比_杭州大湾区['估值（亿人民币）'].to_list()    # 对比后杭州湾大湾区的行业
	粤港澳行业=df_对比_粤港澳['估值（亿人民币）'].to_list()
	pyplt = py.offline.plot
	labels = 共有行业
	values = 粤港澳行业
	trace = [go.Pie(labels=labels, values=values)]
	layout = go.Layout(title = '湾区共有行业估值（粤港澳）',)     # 显示粤港澳湾区的行业估值
	fig = go.Figure(data = trace, layout = layout)
	py.offline.plot(fig, filename="湾区共有行业估值（环杭州湾）.html",auto_open=False)
	with open("湾区共有行业估值（环杭州湾）.html", encoding="utf8", mode="r") as f:
	    plot_all4 = "".join(f.readlines())
	pyplt = py.offline.plot
	labels = 共有行业
	values = 杭州大湾区行业
	trace = [go.Pie(labels=labels, values=values)]
	layout = go.Layout(title = '湾区共有行业估值（杭州大湾区）',)
	fig = go.Figure(data = trace, layout = layout)


if __name__ == '__main__':
    app.run(debug=True)
